# board: This is the concrete board.
import random

board_data=dict(
    destiny_deck   = [],

    resource =dict(
        fuel =dict(
            name    = "FUEL",
            high    = 15,
            current = 8,
            low     = 4,
            state   = 'OK',
            ),
        food =dict(
            name    = "FOOD",
            high    = 15,
            current = 8,
            low     = 4,
            state   = 'OK',            
            ),
        morale =dict(
            name    = "MORALE",
            high    = 15,
            current = 10,
            low     = 5,
            state   = 'OK',            
            ),
        population =dict(
            name    = "POPULATION",
            high    = 15,
            current = 12,
            low     = 6,
            state   = 'OK',            
            ),                    
        ),

    jump_track =dict(
        name = 'JUMP PREPARATION',
        autojump = 6,
        current  = 1,
        emergency_minus3 = 4,
        emergency_minus1 = 5,
        ),

    boarding_track =dict(
        name = 'BOARDING PARTY',
        slot_1 = 0,
        slot_2 = 0,
        slot_3 = 0,
        slot_4 = 0,
        ),

    # 42 ships
    # basestar damage = two, launch, missiles
    ship_locations = dict(
        west  = [
            dict(ship='basestar',damage=[])
            ],
        nwest = [],
        neast = [],
        east  = [],
        seast = [],
        swest = [],
        civilian_fleet = [
            dict(ship='civilian',pop=0,fuel=0,morale=0,damage=[]),
            dict(ship='civilian',pop=0,fuel=0,morale=0,damage=[]),
            dict(ship='civilian',pop=1,fuel=0,morale=0,damage=[]),
            dict(ship='civilian',pop=1,fuel=0,morale=0,damage=[]),
            dict(ship='civilian',pop=1,fuel=0,morale=0,damage=[]),
            dict(ship='civilian',pop=1,fuel=0,morale=0,damage=[]),
            dict(ship='civilian',pop=1,fuel=0,morale=0,damage=[]),
            dict(ship='civilian',pop=1,fuel=0,morale=0,damage=[]),
            dict(ship='civilian',pop=2,fuel=0,morale=0,damage=[]),
            dict(ship='civilian',pop=2,fuel=0,morale=0,damage=[]),
            dict(ship='civilian',pop=1,fuel=1,morale=0,damage=[]),
            dict(ship='civilian',pop=1,fuel=0,morale=1,damage=[]),
            ],
        cylon_fleet = [
            dict(ship='basestar',damage=[]),
            dict(ship='basestar',damage=[]),
            dict(ship='raider',damage=[]),
            dict(ship='raider',damage=[]),
            dict(ship='raider',damage=[]),
            dict(ship='raider',damage=[]),
            dict(ship='raider',damage=[]),
            dict(ship='raider',damage=[]),
            dict(ship='raider',damage=[]),
            dict(ship='raider',damage=[]),
            dict(ship='raider',damage=[]),
            dict(ship='raider',damage=[]),
            dict(ship='raider',damage=[]),
            dict(ship='raider',damage=[]),
            dict(ship='raider',damage=[]),
            dict(ship='raider',damage=[]),
            dict(ship='raider',damage=[]),
            dict(ship='raider',damage=[]),
            dict(ship='heavy',damage=[]),
            dict(ship='heavy',damage=[]),
            dict(ship='heavy',damage=[]),
            dict(ship='heavy',damage=[]),     
            ],
        hangar = [
            dict(ship='viper',damage=[]),
            dict(ship='viper',damage=[]),
            dict(ship='viper',damage=[]),
            dict(ship='viper',damage=[]),
            dict(ship='viper',damage=[]),
            dict(ship='viper',damage=[]),
            dict(ship='viper',damage=[]),
            dict(ship='viper',damage=[]),
            dict(ship='raptor',damage=[]),
            dict(ship='raptor',damage=[]),
            dict(ship='raptor',damage=[]),
            dict(ship='raptor',damage=[]),                       
            ],
        repair = [],
        destroyed = []
        ),

##    random.shuffle(civilians)

    galactica_locations=dict(
        ftl=dict(
            display=dict(
                title    ='FTL CONTROL',
                text    ='Action:  Jump the fleet if the Jump Preparation track is not in the red zone.*  *Might lose population',
                damaged = False,
                ),
            actions=dict(
                action_one=dict(
                    effect_one=dict(
                        function='jump',
                        arguments=dict(value='now')
                        ),
                    ),
                ),
            ),
                        
        weapons=dict(
            display=dict(
                title    ='WEAPONS CONTROL',
                text    ='Action:  Attack 1 Cylon ship with Galactica',
                damaged =False, #or True
                ),
            ),
        comms=dict(
            title    ='COMMUNICATIONS',
            text    ='Action:  Look at the back of 2 civilian ships.  You may then move them to adjacent area(s)',
            damaged =False, #or True
            ),
        lab=dict(
            title    ='RESEARCH LAB',
            text    ='Action:  Draw 1 engineering or 1 tactics Skill Card.',
            damaged =False, #or True
            ),
        armory=dict(
            title    ='ARMORY',
            text    ='Action:  Attack a centurion on the Boarding Party track (destroyed on a roll of 7-8).',
            damaged =False, #or True
            ),
        sick=dict(
            title    ='SICKBAY',
            text    ='You may only draw 1 Skill Card during your Receive Skills step.',
            damaged =False, #always False for Sickbay
            ),
        brig=dict(
            title    ='BRIG',
            text    ='You may not move, draw Crisis Cards, or add more than 1 card to skill checks.  Action:  Pass this skill check to move to any location.',
            damaged =False, #always False for Sickbay
            skill   =dict(
                level       =7,
                politics    =True,
                leadership  =False,
                tactics     =True,
                piloting    =False,
                engineering =False)
            ),
        hangar=dict(
            title    ='HANGAR DECK',
            text    ='Action:  Launch yourself in a viper.  You may then take 1 more action.',
            damaged =False, #or True
            ),
        quarters=dict(
            title    ='ADMIRALS\'S QUARTERS',
            text    ='Action:  Choose a character; then pass this skill check to send him to the "Brig".',
            damaged =False, #or True
            skill   =dict(
                level       =7,
                politics    =False,
                leadership  =True,
                tactics     =True,
                piloting    =False,
                engineering =False)
            ),
        command=dict(
            title    ='COMMAND',
            text    ='Action:  Activate up to 2 unmanned vipers.',
            damaged =False, #or True
            ),
        ),

    colonial_one_locations=dict(
        press=dict(
            title    ='PRESS ROOM',
            text    ='Action:  Draw 2 politics Skill Cards.',
            damaged =False, #or True
            skill   =dict(
                level       =0,
                politics    =False,
                leadership  =False,
                tactics     =False,
                piloting    =False,
                engineering =False)            
            ),
        office=dict(
            title    ='PRESIDENT\'S OFFICE',
            text    ='Action:  If you are President, draw 1 Quorum Card.  You may then draw 1 additional Quorum Card or play 1 form your hand.',
            damaged =False, #or True
            skill   =dict(
                level       =0,
                politics    =False,
                leadership  =False,
                tactics     =False,
                piloting    =False,
                engineering =False)
            ),
        admin=dict(
            title    ='ADMINISTRATION',
            text    ='Action:  Choose a character; then pass this skill check to give him the President title.',
            damaged =False, #or True
            skill   =dict(
                level       =5,
                politics    =True,
                leadership  =True,
                tactics     =False,
                piloting    =False,
                engineering =False)
            ),
        ),

    cylon_locations=dict(
        caprica=dict(
            title    ='CAPRICA',
            text    ='Action:  Play your Super Crisis Card or draw 2 Crisis Cards, choose 1 to resolve, and discard the other.*  *No Activate Cylon Ships or Prepare for Jump steps.',
            damaged =False, #or True
            skill   =dict(
                level       =0,
                politics    =False,
                leadership  =False,
                tactics     =False,
                piloting    =False,
                engineering =False)            
            ),
        cylon=dict(
            title    ='CYLON FLEET',
            text    ='Action:  Activate all Cylon ships of one type, or launch 2 raiders and 1 heavy raider from each basestar.',
            damaged =False, #or True
            skill   =dict(
                level       =0,
                politics    =False,
                leadership  =False,
                tactics     =False,
                piloting    =False,
                engineering =False)
            ),
        human=dict(
            title    ='HUMAN FLEET',
            text    ='Action:  Look at any player\'s hand, and steal 1 Skill Card (place it, in your hand).  Then roll a die, and if 5 or higher, damage Galactica.',
            damaged =False, #or True
            skill   =dict(
                level       =0,
                politics    =False,
                leadership  =False,
                tactics     =False,
                piloting    =False,
                engineering =False)
            ),

        ressurrection=dict(
            title    ='RESURRECTION SHIP',
            text    ='Action:  You may discard your Super Crisis Card to draw a new one.  Then, if distance is 7 or less, give your unrevealed Loyalty Card(s) to any player.',
            damaged =False, #or True
            skill   =dict(
                level       =0,
                politics    =False,
                leadership  =False,
                tactics     =False,
                piloting    =False,
                engineering =False)
            ),
        ),
    )
